package com.carworld.config;

import com.carworld.model.SysUser;
import com.jfinal.aop.Interceptor;
import com.jfinal.aop.Invocation;
import com.jfinal.core.Controller;
import com.jfinal.kit.StrKit;

public class UserInter implements Interceptor {

	public void intercept(Invocation inv) {
		Controller con = inv.getController();
		String cid = con.getCookie("cid");
		System.out.println("cid : " + cid);
		SysUser user = SysUser.dao.findByIdInCache(cid);
		String status = con.getPara("status");
		if (StrKit.isBlank(cid) || null == user) {
			con.removeCookie("cid");
			String userAgent = con.getRequest().getHeader("user-agent").toLowerCase();
			if (userAgent.indexOf("micromessenger") > -1) { // 微信客户端
				if ("shareCard".equals(status)) {
					System.out.println("用户领取会员卡");
					con.redirect("/getCode?shareholderId=" + con.getPara("shareholderId") + "&sharedUserId="
							+ con.getPara("sharedUserId") + "&mealId=" + con.getPara("mealId"));
				} else if ("bindMember".equals(status)) {
					System.out.println("用户绑定股东、店员");
					con.redirect("/getCode?shareBy=" + con.getPara("shareBy"));
				} else if ("order".equals(status)) {
					System.out.println("扫码下单");
					con.redirect("/getCode?tableNum=" + con.getPara("tableNum") + "&shopId=" + con.getPara("shopId"));
				} else if ("coupon".equals(status)) {
					System.out.println("关注公众号领优惠券");
					con.redirect("/getCode?couponMealId=" + con.getPara("couponMealId"));
				} else {
					con.redirect("/getCode");
				}

			} else { // 其他浏览器
				System.out.println("其他浏览器");
				String id = StrKit.getRandomUUID();
				con.setCookie("cid", id, 30 * 24 * 60 * 60);
				inv.invoke();
			}
		} else if (!StrKit.isBlank(cid) && null != user && "2".equals(user.getUserIsVerificated())) {
			System.out.println("会员身份验证，获取其用户微信基本信息");
			con.redirect("/getCode");
		} else {
			System.out.println("用户已存在！");
			inv.invoke();
		}

	}

}
